/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化，请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VOL.Entity.SystemModels;

namespace VOL.Entity.DomainModels
{
    [Entity(TableCnName = "学生基本信息",TableName = "Nyz_Students",DetailTable =  new Type[] { typeof(Nyz_StudentContacts)},DetailTableCnName = "学生联系方式")]
    public partial class Nyz_Students:BaseEntity
    {
        /// <summary>
       ///
       /// </summary>
       [Key]
       [Display(Name ="StudentID")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public Guid StudentID { get; set; }

       /// <summary>
       ///学生学号
       /// </summary>
       [Display(Name ="学生学号")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string StudentNo { get; set; }

       /// <summary>
       ///身份证号
       /// </summary>
       [Display(Name ="身份证号")]
       [MaxLength(18)]
       [Column(TypeName="varchar(18)")]
       [Editable(true)]
       public string IDCardNo { get; set; }

       /// <summary>
       ///姓名
       /// </summary>
       [Display(Name ="姓名")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string Name { get; set; }

       /// <summary>
       ///性别
       /// </summary>
       [Display(Name ="性别")]
       [MaxLength(1)]
       [Column(TypeName="char(1)")]
       [Editable(true)]
       public string Gender { get; set; }

       /// <summary>
       ///出生日期
       /// </summary>
       [Display(Name ="出生日期")]
       [Column(TypeName="date")]
       [Editable(true)]
       public DateTime? BirthDate { get; set; }

       /// <summary>
       ///照片路径
       /// </summary>
       [Display(Name ="照片路径")]
       [MaxLength(255)]
       [Column(TypeName="varchar(255)")]
       [Editable(true)]
       public string PhotoPath { get; set; }

       /// <summary>
       ///入学日期
       /// </summary>
       [Display(Name ="入学日期")]
       [Column(TypeName="date")]
       [Editable(true)]
       public DateTime? EnrollmentDate { get; set; }

       /// <summary>
       ///结业日期
       /// </summary>
       [Display(Name ="结业日期")]
       [Column(TypeName="date")]
       [Editable(true)]
       public DateTime? GraduationDate { get; set; }

       /// <summary>
       ///所属班级ID
       /// </summary>
       [Display(Name ="所属班级ID")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       public Guid? ClassID { get; set; }

       /// <summary>
       ///专业ID
       /// </summary>
       [Display(Name ="专业ID")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       public Guid? MajorID { get; set; }

       /// <summary>
       ///状态
       /// </summary>
       [Display(Name ="状态")]
       [Column(TypeName="tinyint")]
       [Editable(true)]
       public byte? Status { get; set; }

       /// <summary>
       ///联系电话
       /// </summary>
       [Display(Name ="联系电话")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string ContactPhone { get; set; }

       /// <summary>
       ///电子邮箱
       /// </summary>
       [Display(Name ="电子邮箱")]
       [MaxLength(100)]
       [Column(TypeName="varchar(100)")]
       [Editable(true)]
       public string Email { get; set; }

       /// <summary>
       ///家庭地址
       /// </summary>
       [Display(Name ="家庭地址")]
       [MaxLength(200)]
       [Column(TypeName="nvarchar(200)")]
       [Editable(true)]
       public string HomeAddress { get; set; }

       /// <summary>
       ///紧急联系人
       /// </summary>
       [Display(Name ="紧急联系人")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string EmergencyContact { get; set; }

       /// <summary>
       ///
       /// </summary>
       [Display(Name ="EmergencyPhone")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string EmergencyPhone { get; set; }

       /// <summary>
       ///
       /// </summary>
       [Display(Name ="Remark")]
       [MaxLength(500)]
       [Column(TypeName="nvarchar(500)")]
       [Editable(true)]
       public string Remark { get; set; }

       /// <summary>
       ///创建人
       /// </summary>
       [Display(Name ="创建人")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string Creator { get; set; }

       /// <summary>
       ///创建时间
       /// </summary>
       [Display(Name ="创建时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? CreateDate { get; set; }

       /// <summary>
       ///修改人
       /// </summary>
       [Display(Name ="修改人")]
       [MaxLength(50)]
       [Column(TypeName="nvarchar(50)")]
       [Editable(true)]
       public string Modifier { get; set; }

       /// <summary>
       ///修改时间
       /// </summary>
       [Display(Name ="修改时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? ModifyDate { get; set; }

       /// <summary>
       ///创建人ID
       /// </summary>
       [Display(Name ="创建人ID")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? CreateID { get; set; }

       /// <summary>
       ///修改人ID
       /// </summary>
       [Display(Name ="修改人ID")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? ModifyID { get; set; }

       [Display(Name ="学生联系方式")]
       [ForeignKey("StudentID")]
       public List<Nyz_StudentContacts> Nyz_StudentContacts { get; set; }

    }
}